package cn.yunhe.insurance.dao;


import cn.yunhe.insurance.entity.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @author 孙敖
 * @date 2018/9/14 14:21
 */
@Mapper
public interface UserDao  {
    /**
     * 新增一个客户
     * @param user
     */
    void addUser(User user);

    /**
     * 获得一条数据
     * @param user
     * @return
     */
    User getUserById(User user);

    /**
     * 修改一个用户
     * @param user
     * @return
     */
    Integer updateUser(User user);

    /**
     * 模糊查询客户数量
     * @param cond
     * @return
     */
    Integer getLikeUserCount(Map<String, Object> cond);

    /**
     * 模糊查询客户列表
     * @param cond
     * @return
     */

    List<User> getLikeUsers(Map<String, Object> cond);


    /**
     * 模糊查询黑名单客户数量,和删除状态公用一列
     * @param cond
     * @return
     */
    Integer getLikeBlackListNum(Map<String, Object> cond);

    /**
     * 模糊查询黑名单客户列表,和删除状态公用一列
     * @param cond
     * @return
     */
    List<User> getLikeBlackList(Map<String, Object> cond);

    /**
     * 把客户信息状态改变,使信息不显示
     * @param
     */
    void upUserStatus(User user);

    /**
     * 把黑名单客户信息改变,使信息不显示
     * @param user
     */
    void upBlackStatus(User user);


    /**
     * 根据身份证号查询客户的整条数据
     * @param user
     * @return
     */
    User getCardByUser(User user);

    /*======================================*/
    int getUserByIdCard(String idcard);

}
